package org.gp.Interfaz;

import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JDialog;
import org.gp.tringes.GestorIGDatosClub;
import org.gp.tringes.GestorIGInicio;
import org.gp.tringes.GestorIGRegistroClub;

import java.awt.BorderLayout;
import javax.swing.JPanel;
import java.awt.GridLayout;
import java.util.Observable;
import java.util.Observer;

import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;


public class IGDatosClub extends JDialog implements Observer {
	
	private Integer idClub;
	
	private JPanel panel;
	private JPanel panel_1;
	private JPanel panel_2;
	private JLabel lblIdClub;
	private JLabel lblIdClub_1;
	private JLabel lblInvisible;
	private JLabel lblNombre;
	private JLabel lblNombre_1;
	private JButton btnModifNom;
	private JLabel lblPatrPrinc;
	private JLabel lblPatrPrinc_1;
	private JButton btnModifPatro;
	private JLabel lblContrasea;
	private JLabel lblContrasea_1;
	private JButton btnModifCont;
	private JButton btnDesactivar;
	private JButton btnSalir;
	private JButton btnActivar;
	
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					IGDatosClub dialog = new IGDatosClub(0);
					dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
					dialog.setVisible(true);
					dialog.setModal(true);
					dialog.setResizable(false);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	
	public IGDatosClub(Integer pIdClub) {
		idClub = pIdClub;
		GestorIGDatosClub.getGestorIGDatosClub().obtenerDatosClub(idClub);
		GestorIGRegistroClub.getGestorIGRegistroClub().addObserver(this);
		
		setBounds(100, 100, 500, 240);
		//ID-108
		setTitle(GestorIGInicio.getGestorIGInicio().getTexto(108));
		getContentPane().setLayout(new BorderLayout(0, 0));
		
		getContentPane().add(getPanel(), BorderLayout.NORTH);
		getContentPane().add(getPanel_1(), BorderLayout.CENTER);
		getContentPane().add(getPanel_2(), BorderLayout.SOUTH);
	}
	
	private JPanel getPanel(){
		if(panel == null){
			panel = new JPanel();
		}
		return panel;
	}
	
	private JPanel getPanel_1(){
		if(panel_1 == null){
			panel_1 = new JPanel();
			panel_1.setLayout(new GridLayout(0, 3, 0, 10));
			panel_1.add(getLblIdClub());
			panel_1.add(getLblIdClub_1());
			panel_1.add(getLblInvisible());
			panel_1.add(getLblNombre());
			panel_1.add(getLblNombre_1());
			panel_1.add(getBtnModifNom());
			panel_1.add(getLblPatrPrinc());
			panel_1.add(getLblPatrPrinc_1());
			panel_1.add(getBtnModifPatro());
			panel_1.add(getLblContrasea());
			panel_1.add(getLblContrasea_1());
			panel_1.add(getBtnModifCont());
		}
		return panel_1;
	}
	private JLabel getLblIdClub() {
		if (lblIdClub == null) {
			//ID-109
			lblIdClub = new JLabel(GestorIGInicio.getGestorIGInicio().getTexto(109));
			lblIdClub.setHorizontalAlignment(SwingConstants.CENTER);
		}
		return lblIdClub;
	}
	private JLabel getLblIdClub_1() {
		if (lblIdClub_1 == null) {
			String id = String.valueOf(GestorIGDatosClub.getGestorIGDatosClub().getIdClub());
			lblIdClub_1 = new JLabel(id);
			lblIdClub_1.setHorizontalAlignment(SwingConstants.CENTER);
		}
		return lblIdClub_1;
	}
	private JLabel getLblInvisible() {
		if (lblInvisible == null) {
			lblInvisible = new JLabel("");
		}
		return lblInvisible;
	}
	private JLabel getLblNombre() {
		if (lblNombre == null) {
			//ID-110
			lblNombre = new JLabel(GestorIGInicio.getGestorIGInicio().getTexto(110));
			lblNombre.setHorizontalAlignment(SwingConstants.CENTER);
		}
		return lblNombre;
	}
	private JLabel getLblNombre_1() {
		if (lblNombre_1 == null) {
			lblNombre_1 = new JLabel(GestorIGDatosClub.getGestorIGDatosClub().getNombre());
			lblNombre_1.setHorizontalAlignment(SwingConstants.CENTER);
		}
		return lblNombre_1;
	}
	private JButton getBtnModifNom() {
		if (btnModifNom == null) {
			//ID-111
			btnModifNom = new JButton(GestorIGInicio.getGestorIGInicio().getTexto(111));
			btnModifNom.addMouseListener(new MouseAdapter() {
				@Override
				public void mouseClicked(MouseEvent arg0) {
					setVisible(false);
					JDialog cambiarNombre = new IGModifDatosClub(lblNombre.getText(),idClub);
					cambiarNombre.setResizable(false);
					cambiarNombre.setModal(true);
					cambiarNombre.setLocationRelativeTo(null);
					cambiarNombre.setVisible(true);
					setVisible(true);
				}
			});
		}
		return btnModifNom;
	}
	private JLabel getLblPatrPrinc() {
		if (lblPatrPrinc == null) {
			//ID-112
			lblPatrPrinc = new JLabel(GestorIGInicio.getGestorIGInicio().getTexto(112));
			lblPatrPrinc.setHorizontalAlignment(SwingConstants.CENTER);
		}
		return lblPatrPrinc;
	}
	private JLabel getLblPatrPrinc_1() {
		if (lblPatrPrinc_1 == null) {
			lblPatrPrinc_1 = new JLabel(GestorIGDatosClub.getGestorIGDatosClub().getPatrPrinc());
			lblPatrPrinc_1.setHorizontalAlignment(SwingConstants.CENTER);
		}
		return lblPatrPrinc_1;
	}
	private JButton getBtnModifPatro() {
		if (btnModifPatro == null) {
			//ID-113
			btnModifPatro = new JButton(GestorIGInicio.getGestorIGInicio().getTexto(113));
			btnModifPatro.addMouseListener(new MouseAdapter() {
				@Override
				public void mouseClicked(MouseEvent e) {
					setVisible(false);
					JDialog cambiarPatrPrinc = new IGModifDatosClub(lblPatrPrinc.getText(),idClub);
					cambiarPatrPrinc.setResizable(false);
					cambiarPatrPrinc.setModal(true);
					cambiarPatrPrinc.setLocationRelativeTo(null);
					cambiarPatrPrinc.setVisible(true);
					setVisible(true);
				}
			});
		}
		return btnModifPatro;
	}
	private JLabel getLblContrasea() {
		if (lblContrasea == null) {
			//ID-114
			lblContrasea = new JLabel(GestorIGInicio.getGestorIGInicio().getTexto(114));
			lblContrasea.setHorizontalAlignment(SwingConstants.CENTER);
		}
		return lblContrasea;
	}
	private JLabel getLblContrasea_1() {
		if (lblContrasea_1 == null) {
			lblContrasea_1 = new JLabel(GestorIGDatosClub.getGestorIGDatosClub().getContra());
			lblContrasea_1.setHorizontalAlignment(SwingConstants.CENTER);
		}
		return lblContrasea_1;
	}
	private JButton getBtnModifCont() {
		if (btnModifCont == null) {
			//ID-115
			btnModifCont = new JButton(GestorIGInicio.getGestorIGInicio().getTexto(115));
			btnModifCont.addMouseListener(new MouseAdapter() {
				@Override
				public void mouseClicked(MouseEvent e) {
					setVisible(false);
					JDialog cambiarContra = new IGModifContraClub(idClub);
					cambiarContra.setResizable(false);
					cambiarContra.setModal(true);
					cambiarContra.setLocationRelativeTo(null);
					cambiarContra.setVisible(true);
					setVisible(true);
				}
			});
		}
		return btnModifCont;
	}
	
	private JPanel getPanel_2(){
		if(panel_2 == null){
			panel_2 = new JPanel();
			panel_2.add(getBtnActivar());
			panel_2.add(getBtnDesactivar());
			panel_2.add(getBtnSalir());
		}
		return panel_2;
	}
	private JButton getBtnActivar() {
		if (btnActivar == null) {
			//ID-116
			btnActivar = new JButton(GestorIGInicio.getGestorIGInicio().getTexto(116));
			if(GestorIGDatosClub.getGestorIGDatosClub().estaDesactivado(GestorIGDatosClub.getGestorIGDatosClub().getNombre())){
				btnActivar.setEnabled(true);
			}else{
				btnActivar.setEnabled(false);
			}
			btnActivar.addMouseListener(new MouseAdapter() {
				@Override
				public void mouseClicked(MouseEvent arg0) {
					//ID-117 y 4
					int opcion = JOptionPane.showConfirmDialog(null, GestorIGInicio.getGestorIGInicio().getTexto(117), GestorIGInicio.getGestorIGInicio().getTexto(4), JOptionPane.YES_NO_OPTION);
					if(opcion == 0){
						GestorIGDatosClub.getGestorIGDatosClub().activarCuenta(idClub);
						//ID-118 y 6
						JOptionPane.showMessageDialog(null, GestorIGInicio.getGestorIGInicio().getTexto(118), GestorIGInicio.getGestorIGInicio().getTexto(6), JOptionPane.INFORMATION_MESSAGE);
						btnActivar.setEnabled(false);
						btnDesactivar.setEnabled(true);
					}
				}
			});
		}
		return btnActivar;
	}
	private JButton getBtnDesactivar() {
		if (btnDesactivar == null) {
			//ID-119
			btnDesactivar = new JButton(GestorIGInicio.getGestorIGInicio().getTexto(119));
			if(btnActivar.isEnabled()){
				btnDesactivar.setEnabled(false);
			}else{
				btnDesactivar.setEnabled(true);
			}
			btnDesactivar.addMouseListener(new MouseAdapter() {
				@Override
				public void mouseClicked(MouseEvent e) {
					//ID-120 y 4
					int opcion = JOptionPane.showConfirmDialog(null, GestorIGInicio.getGestorIGInicio().getTexto(120), GestorIGInicio.getGestorIGInicio().getTexto(4), JOptionPane.YES_NO_OPTION);
					if(opcion == 0){
						GestorIGDatosClub.getGestorIGDatosClub().desactivarCuenta(idClub);
						//ID-121 y 6
						JOptionPane.showMessageDialog(null, GestorIGInicio.getGestorIGInicio().getTexto(121), GestorIGInicio.getGestorIGInicio().getTexto(6), JOptionPane.INFORMATION_MESSAGE);
						btnDesactivar.setEnabled(false);
						btnActivar.setEnabled(true);
					}
				}
			});
		}
		return btnDesactivar;
	}
	private JButton getBtnSalir() {
		if (btnSalir == null) {
			//ID-25
			btnSalir = new JButton(GestorIGInicio.getGestorIGInicio().getTexto(25));
			btnSalir.addMouseListener(new MouseAdapter() {
				@Override
				public void mouseClicked(MouseEvent e) {
					dispose();
				}
			});
		}
		return btnSalir;
	}

	@Override
	public void update(Observable o, Object arg) {
		// TODO Auto-generated method stub
		GestorIGDatosClub.getGestorIGDatosClub().obtenerDatosClub(idClub);
		if((Boolean)arg.equals("Nombre")){
			lblNombre_1.setText(GestorIGDatosClub.getGestorIGDatosClub().getNombre());
		}else{
			if((Boolean)arg.equals("patrocinadorPrincipal")){
				lblPatrPrinc_1.setText(GestorIGDatosClub.getGestorIGDatosClub().getPatrPrinc());
			}else{
				lblContrasea_1.setText(GestorIGDatosClub.getGestorIGDatosClub().getContra());
			}
		}
	}
}
